// 指定被解析的对象
const target = Array;

console.log(`${target.name}的类属性(即直接在类上定义的属性)`);

// 获得target指向的对象(相当于类)自有的属性
const classPropertyNames = Object.getOwnPropertyNames( target );
for (let i = 0; i < classPropertyNames.length; i++) {
    const propName = classPropertyNames[i];
    console.log( '\t', propName);
}


console.log( `${target.name}的原型属性(即在原型上定义的属性)` );

// 获得target指向的对象(相当于类)的原型上自有的属性
const protoPropertyNames = Object.getOwnPropertyNames( target.prototype );
for (let i = 0; i < protoPropertyNames.length; i++) {
    const propName = protoPropertyNames[i];
    console.log( '\t', propName);
}
